程式設計 = 演算法 + 資料結構
這是工程師裡一直流傳的句子,也算是點出了我們的主題,之後也會在資料結構及演算法的小節介紹他們分別是什麼。
但在這裡我們先這樣理解:寫程式就是「讓電腦知道我們想要什麼,並依照我們的想法去運行」。
換句話說,身為工程師的你,應該要知道你寫這個程式希望達到的目標。
如果什麼都還沒有就開始寫程式的,你的程式也不會回應你。
在另外一個層面來思考程式的運行,我們可以把程式執行分成三個部分:【輸入】、【存儲與運算】、【輸出】。
輸入的方法有很多種,匯入一個文件檔、在命令介面輸入、滑鼠的點擊... 甚至是把資料直接寫死在程式碼裡面,輸出的方法也是各式各樣。
不過本系列教學的主要目的是理解【存儲與運算】的部分,所以我們的輸入輸出都會是單純限制在我們的命令列,如下圖展示。
在我目前短暫的人生中,已經遇到過不少個「聽說很賺錢」為目的而寫程式的人,但我覺得這不應該是寫程式的理由。(雖然我自己最開始寫程式的理由只是國小覺得寫程式感覺很帥就跑去學。)
但在後來,真正讓我愛上寫程式的原因,還是可以自己去創造出一個東西,像是作文一樣,不過是一個會自己運作的作文。
私以為寫程式的意義應該是去創造東西,比如做個line bot每天早上提醒自己當日天氣、我國小國中的數學作業很多就是自己寫程式算的,或者...做個遊戲,成為第九藝術的藝術家?
不過就算是現在根本沒有想到要做什麼東西也沒有任何關係,我覺得程式設計還是一個任何人都可以備著的能力,不需要任何的拘束,先開始寫程式再來思考要做些什麼也是沒有問題的。
所以我希望這系列文章只是一個啟發點,或許沒看完也沒有很大的關係,但至少可以作為一個最最最基礎的程式設計教材,你還不需要太多的知識,所以各種複雜的專業東西的東西也都先省略,先最簡單的第一步—— 「嘗試寫程式」。